﻿namespace JxcLite.Entities;

/// <summary>
/// 商品信息类。
/// </summary>
public class JxGoods : EntityBase
{
    /// <summary>
    /// 取得或设置商品编码。
    /// </summary>
    [DisplayName("商品编码")]
    [Required]
    [MaxLength(50)]
    public string Code { get; set; }

    /// <summary>
    /// 取得或设置商品名称。
    /// </summary>
    [DisplayName("商品名称")]
    [Required]
    [MaxLength(200)]
    public string Name { get; set; }

    /// <summary>
    /// 取得或设置商品类别。
    /// </summary>
    [DisplayName("商品类别")]
    [Required]
    [MaxLength(50)]
    public string Category { get; set; }

    /// <summary>
    /// 取得或设置规格型号。
    /// </summary>
    [DisplayName("规格型号")]
    [MaxLength(500)]
    public string Model { get; set; }

    /// <summary>
    /// 取得或设置产地。
    /// </summary>
    [DisplayName("产地")]
    [MaxLength(50)]
    public string Producer { get; set; }

    /// <summary>
    /// 取得或设置计量单位。
    /// </summary>
    [DisplayName("计量单位")]
    [Required]
    [MaxLength(50)]
    public string Unit { get; set; }

    /// <summary>
    /// 取得或设置采购单价。
    /// </summary>
    [DisplayName("采购单价")]
    public decimal? BuyPrice { get; set; }

    /// <summary>
    /// 取得或设置销售单价。
    /// </summary>
    [DisplayName("销售单价")]
    public decimal? SalePrice { get; set; }

    /// <summary>
    /// 取得或设置安全库存。
    /// </summary>
    [DisplayName("安全库存")]
    public int? SafeQty { get; set; }

    /// <summary>
    /// 取得或设置备注。
    /// </summary>
    [DisplayName("备注")]
    public string Note { get; set; }

    /// <summary>
    /// 取得或设置附件。
    /// </summary>
    [DisplayName("附件")]
    [MaxLength(500)]
    public string Files { get; set; }
}